package com.ljk.util.pdf.data;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
public class PrescriptionItem {
    /* ********************************[↓↓↓↓ 共用 ↓↓↓↓]***************************************/
    /** 药名 */
    private String itemName;
    /** 数量 */
    private Integer quantity;
    /** 数量单位 */
    private String quantityUnit;
    /** 备注 */
    private String remark;
    /* ********************************[↑↑↑↑ 共用 ↑↑↑↑]***************************************/

    /* ********************************[↓↓↓↓ 中药用 ↓↓↓↓]***************************************/
    /** 煎法 */
    private String fryingType;
    /* ********************************[↑↑↑↑ 中药用 ↑↑↑↑]***************************************/

    /* ********************************[↓↓↓↓ 西药用 ↓↓↓↓]***************************************/
    /** 规格 */
    private String spec;
    /** 剂量 */
    private String dose;
    /** 剂量单位 */
    private String doseUnit;
    /** 用法 */
    private String usageType;
    /** 频次 */
    private String frequencyName;
    /** 天数 */
    private Integer medicationDay;
    /** 组号 */
    private Integer groupNo;
    /* ********************************[↑↑↑↑ 西药用 ↑↑↑↑]***************************************/
    /* ********************************[↓↓↓↓ 检查检验用 ↓↓↓↓]***************************************/
    /** 是否打印套餐明细 */
    private Integer ifPrintTcmx;
    /** 套餐明细详情 */
    private List<PrescriptionItemPackageDetail> packageDetailList;
    /* ********************************[↑↑↑↑ 检查检验用 ↑↑↑↑]***************************************/

    /** 中药的构造方法 */
    public static PrescriptionItem tcmDrug(String itemName, String fryingType, Integer quantity, String quantityUnit) {
        PrescriptionItem item = new PrescriptionItem();
        item.itemName = itemName;
        item.quantity = quantity;
        item.quantityUnit = quantityUnit;
        item.fryingType = fryingType;
        return item;
    }

    /** 检查检验不含套餐项目的构造方法 */
    public PrescriptionItem(String itemName, Integer quantity, String quantityUnit) {
        this.itemName = itemName;
        this.quantity = quantity;
        this.quantityUnit = quantityUnit;
        this.ifPrintTcmx = 0;
    }

    /** 检查检验可含套餐的构造方法 */
    public PrescriptionItem(String itemName, Integer quantity, String quantityUnit, Integer ifPrintTcmx, List<PrescriptionItemPackageDetail> packageDetailList) {
        this.itemName = itemName;
        this.quantity = quantity;
        this.quantityUnit = quantityUnit;
        this.ifPrintTcmx = ifPrintTcmx;
        this.packageDetailList = packageDetailList;
    }
}
